﻿using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using BussinessObjects.BO_Actions;
using Entity.StoreProcedure;
using LibraryO2S;
using BusinessObjects.BO_GetObjects;
using System.Security.Cryptography;

public partial class administrator_Forgot : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
    }
    private string randomNewPass()
    {
        byte[] number = new byte[4];
        RandomNumberGenerator rng = RandomNumberGenerator.Create();
        rng.GetNonZeroBytes(number);
        string random = BitConverter.ToString(number);
        random = random.Replace("-", "");
        return random;
    }
    protected void btnSend_Click(object sender, EventArgs e)
    {
        string username = txtUserName.Value;
        string email = txtEmail.Value;
        try
        {
            string newpass = randomNewPass();
            string strResult = BO_Sec_Administrators.ExistMail(username, email);
            if (strResult != "0")
            {
                string content = "Vì lý do bảo mật bạn nên đổi mật khẩu ngay lập tức<br />" +
                            "Mật khẩu của bạn là : " + newpass;
                bool result = O2S_Mail.Send("chieunt@o2s.vn", email, "Lấy lại mật khẩu", "Lấy lại mật khẩu", content, "chieunt@o2s.vn");
                if (result)
                {
                    string forgot = BO_Sec_Administrators.ForgotPassword(username, email, O2S_Encrypt.ToMD5(newpass));
                    if (forgot.Equals("1"))
                    {
                        txtUserName.Value = "";
                        txtEmail.Value = "";
                        divMessages.InnerHtml = O2S_Message.Success("Thành Công", "Chúng tôi đã gửi mật khẩu tới hòm thư của bạn");
                    }
                    else
                    {
                        divMessages.InnerHtml = O2S_Message.Success("Thông báo", "Có lỗi trong quá trình lấy lại mật khẩu! mật khẩu có thể đã được gửi về mail của bạn nhưng chưa được cập nhật, mong bạn thử lại sau!");
                    }
                }
                else
                    divMessages.InnerHtml = O2S_Message.Warning("Thông Báo", "Đường truyền có sự cố mong bạn thử lại sau !");
            }
            else
            {
                divMessages.InnerHtml = O2S_Message.Warning("Thông Báo", "Email không khớp với Email được đăng ký trong tài khoản !");
            }

        }
        catch (Exception ex)
        {
            divMessages.InnerHtml = O2S_Message.Error("Lỗi", "Phát hiện lỗi: <br />" + ex.Message);
        }

    }
}
